{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "import pickle\n",
    "# Bugfix thanks to: http://stackoverflow.com/questions/11305790/pickle-incompatability-of-numpy-arrays-between-python-2-and-3 \n",
    "def unpickle(filename):\n",
    "    with open(filename, 'rb') as fo: \n",
    "        return pickle.load(fo, encoding='latin1')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "import os\n",
    "import numpy as np \n",
    "\n",
    "data_folder = \"/home/robert/data/datasets/cifar-10-batches-py/\"\n",
    "\n",
    "batches = [] \n",
    "for i in range(1, 6):\n",
    "    batch_filename = os.path.join(data_folder, \"data_batch_{}\".format(i))\n",
    "    batches.append(unpickle(batch_filename)) \n",
    "    #break"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "5"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "len(batches)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "X = np.vstack([batch['data'] for batch in batches])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(50000, 3072)"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "X = np.array(X) / X.max() \n",
    "X = X.astype(np.float32)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "from keras.utils import np_utils\n",
    "y = np.hstack(batch['labels'] for batch in batches).flatten()\n",
    "nb_classes = len(np.unique(y))\n",
    "y = np_utils.to_categorical(y, nb_classes)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "((50000, 3072), (50000, 10))"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X.shape, y.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "from sklearn.model_selection import train_test_split\n",
    "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "((40000, 3072), (40000, 10))"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X_train.shape, y_train.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "np_utils.to_categorical?"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "#y_train = np_utils.to_categorical(y_train, nb_classes)\n",
    "#y_test = np_utils.to_categorical(y_test, nb_classes)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "((40000, 3072), (40000, 10))"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X_train.shape, y_train.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "((10000, 3072), (10000, 10))"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X_test.shape, y_test.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "X_train = X_train.reshape(-1, 3, 32, 32)\n",
    "X_test = X_test.reshape(-1, 3, 32, 32)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "((40000, 3, 32, 32), (10000, 3, 32, 32))"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X_train.shape, X_test.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "from keras.models import Sequential\n",
    "from keras.layers import Dense, Flatten, Convolution2D, MaxPooling2D"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "n_samples, d, h, w = X_train.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "((3, 32, 32), (3, 32, 32))"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X_train.shape[1:], (d, h, w)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "X_train = X_train.astype('float32')\n",
    "X_test = X_test.astype('float32')\n",
    "X_train /= 255\n",
    "X_test /= 255"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "10"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "nb_classes"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "conv1 = Convolution2D(32, 3, 3, input_shape=(d, h, w))\n",
    "pool1 = MaxPooling2D()\n",
    "conv2 = Convolution2D(64, 2, 2)\n",
    "pool2 = MaxPooling2D()\n",
    "conv3 = Convolution2D(128, 2, 2)\n",
    "pool3 = MaxPooling2D()\n",
    "flatten = Flatten()\n",
    "hidden4 = Dense(500)\n",
    "hidden5 = Dense(500)\n",
    "output = Dense(nb_classes)  # softmax?\n",
    "layers = [conv1, pool1,\n",
    "          conv2, pool2,\n",
    "          conv3, pool3,\n",
    "          flatten, hidden4, hidden5,\n",
    "          output]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "model = Sequential(layers=layers)\n",
    "model.compile(loss='mean_squared_error', optimizer='adam', metrics=['accuracy'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "#from pprint import pprint\n",
    "#import json\n",
    "#pprint(json.loads(model.to_json()))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "import tensorflow as tf\n",
    "\n",
    "history = model.fit(X_train, y_train, nb_epoch=1, verbose=False,\n",
    "                   validation_data=(X_test, y_test))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.text.Text at 0x7fd7952f4fd0>"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/svg+xml": [
       "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?>\n",
       "<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
       "  \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
       "<!-- Created with matplotlib (http://matplotlib.org/) -->\n",
       "<svg height=\"357pt\" version=\"1.1\" viewBox=\"0 0 510 357\" width=\"510pt\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
       " <defs>\n",
       "  <style type=\"text/css\">\n",
       "*{stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:100000;}\n",
       "  </style>\n",
       " </defs>\n",
       " <g id=\"figure_1\">\n",
       "  <g id=\"patch_1\">\n",
       "   <path d=\"M 0 357.536875 \n",
       "L 510.856406 357.536875 \n",
       "L 510.856406 0 \n",
       "L 0 0 \n",
       "z\n",
       "\" style=\"fill:#ffffff;\"/>\n",
       "  </g>\n",
       "  <g id=\"axes_1\">\n",
       "   <g id=\"patch_2\">\n",
       "    <path d=\"M 54.475938 318.760938 \n",
       "L 500.875937 318.760938 \n",
       "L 500.875937 11.860938 \n",
       "L 54.475938 11.860938 \n",
       "z\n",
       "\" style=\"fill:#eaeaf2;\"/>\n",
       "   </g>\n",
       "   <g id=\"matplotlib.axis_1\">\n",
       "    <g id=\"xtick_1\">\n",
       "     <g id=\"line2d_1\">\n",
       "      <path clip-path=\"url(#pcb8ad95ba4)\" d=\"M 54.475938 318.760938 \n",
       "L 54.475938 11.860938 \n",
       "\" style=\"fill:none;stroke:#ffffff;stroke-linecap:round;\"/>\n",
       "     </g>\n",
       "     <g id=\"line2d_2\">\n",
       "      <defs>\n",
       "       <path d=\"M 0 0 \n",
       "L 0 0 \n",
       "\" id=\"m8fdf5948b1\" style=\"stroke:#262626;\"/>\n",
       "      </defs>\n",
       "      <g>\n",
       "       <use style=\"fill:#262626;stroke:#262626;\" x=\"54.4759375\" xlink:href=\"#m8fdf5948b1\" y=\"318.7609375\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"line2d_3\">\n",
       "      <g>\n",
       "       <use style=\"fill:#262626;stroke:#262626;\" x=\"54.4759375\" xlink:href=\"#m8fdf5948b1\" y=\"11.8609375\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_1\">\n",
       "      <!-- 0 -->\n",
       "      <defs>\n",
       "       <path d=\"M 51.703125 34.421875 \n",
       "Q 51.703125 24.515625 49.828125 17.75 \n",
       "Q 47.953125 10.984375 44.703125 6.8125 \n",
       "Q 41.453125 2.640625 37.0625 0.828125 \n",
       "Q 32.671875 -0.984375 27.6875 -0.984375 \n",
       "Q 22.65625 -0.984375 18.3125 0.828125 \n",
       "Q 13.96875 2.640625 10.765625 6.78125 \n",
       "Q 7.5625 10.9375 5.734375 17.703125 \n",
       "Q 3.90625 24.46875 3.90625 34.421875 \n",
       "Q 3.90625 44.828125 5.734375 51.640625 \n",
       "Q 7.5625 58.453125 10.78125 62.5 \n",
       "Q 14.015625 66.546875 18.40625 68.1875 \n",
       "Q 22.796875 69.828125 27.984375 69.828125 \n",
       "Q 32.90625 69.828125 37.21875 68.1875 \n",
       "Q 41.546875 66.546875 44.765625 62.5 \n",
       "Q 48 58.453125 49.84375 51.640625 \n",
       "Q 51.703125 44.828125 51.703125 34.421875 \n",
       "M 42.78125 34.421875 \n",
       "Q 42.78125 42.625 41.796875 48.0625 \n",
       "Q 40.828125 53.515625 38.921875 56.765625 \n",
       "Q 37.015625 60.015625 34.25 61.359375 \n",
       "Q 31.5 62.703125 27.984375 62.703125 \n",
       "Q 24.265625 62.703125 21.4375 61.328125 \n",
       "Q 18.609375 59.96875 16.671875 56.71875 \n",
       "Q 14.75 53.46875 13.765625 48.015625 \n",
       "Q 12.796875 42.578125 12.796875 34.421875 \n",
       "Q 12.796875 26.515625 13.796875 21.09375 \n",
       "Q 14.796875 15.671875 16.71875 12.375 \n",
       "Q 18.65625 9.078125 21.4375 7.640625 \n",
       "Q 24.21875 6.203125 27.78125 6.203125 \n",
       "Q 31.25 6.203125 34.03125 7.640625 \n",
       "Q 36.8125 9.078125 38.734375 12.375 \n",
       "Q 40.671875 15.671875 41.71875 21.09375 \n",
       "Q 42.78125 26.515625 42.78125 34.421875 \n",
       "\" id=\"LiberationSans-30\"/>\n",
       "      </defs>\n",
       "      <g style=\"fill:#262626;\" transform=\"translate(51.69546875 333.0078125)scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#LiberationSans-30\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"xtick_2\">\n",
       "     <g id=\"line2d_4\">\n",
       "      <path clip-path=\"url(#pcb8ad95ba4)\" d=\"M 104.075937 318.760938 \n",
       "L 104.075937 11.860938 \n",
       "\" style=\"fill:none;stroke:#ffffff;stroke-linecap:round;\"/>\n",
       "     </g>\n",
       "     <g id=\"line2d_5\">\n",
       "      <g>\n",
       "       <use style=\"fill:#262626;stroke:#262626;\" x=\"104.0759375\" xlink:href=\"#m8fdf5948b1\" y=\"318.7609375\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"line2d_6\">\n",
       "      <g>\n",
       "       <use style=\"fill:#262626;stroke:#262626;\" x=\"104.0759375\" xlink:href=\"#m8fdf5948b1\" y=\"11.8609375\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_2\">\n",
       "      <!-- 1 -->\n",
       "      <defs>\n",
       "       <path d=\"M 7.625 0 \n",
       "L 7.625 7.46875 \n",
       "L 25.140625 7.46875 \n",
       "L 25.140625 60.40625 \n",
       "L 9.625 49.3125 \n",
       "L 9.625 57.625 \n",
       "L 25.875 68.796875 \n",
       "L 33.984375 68.796875 \n",
       "L 33.984375 7.46875 \n",
       "L 50.734375 7.46875 \n",
       "L 50.734375 0 \n",
       "z\n",
       "\" id=\"LiberationSans-31\"/>\n",
       "      </defs>\n",
       "      <g style=\"fill:#262626;\" transform=\"translate(101.29546875 333.0078125)scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#LiberationSans-31\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"xtick_3\">\n",
       "     <g id=\"line2d_7\">\n",
       "      <path clip-path=\"url(#pcb8ad95ba4)\" d=\"M 153.675937 318.760938 \n",
       "L 153.675937 11.860938 \n",
       "\" style=\"fill:none;stroke:#ffffff;stroke-linecap:round;\"/>\n",
       "     </g>\n",
       "     <g id=\"line2d_8\">\n",
       "      <g>\n",
       "       <use style=\"fill:#262626;stroke:#262626;\" x=\"153.6759375\" xlink:href=\"#m8fdf5948b1\" y=\"318.7609375\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"line2d_9\">\n",
       "      <g>\n",
       "       <use style=\"fill:#262626;stroke:#262626;\" x=\"153.6759375\" xlink:href=\"#m8fdf5948b1\" y=\"11.8609375\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_3\">\n",
       "      <!-- 2 -->\n",
       "      <defs>\n",
       "       <path d=\"M 5.03125 0 \n",
       "L 5.03125 6.203125 \n",
       "Q 7.515625 11.921875 11.109375 16.28125 \n",
       "Q 14.703125 20.65625 18.65625 24.1875 \n",
       "Q 22.609375 27.734375 26.484375 30.765625 \n",
       "Q 30.375 33.796875 33.5 36.8125 \n",
       "Q 36.625 39.84375 38.546875 43.15625 \n",
       "Q 40.484375 46.484375 40.484375 50.6875 \n",
       "Q 40.484375 53.609375 39.59375 55.828125 \n",
       "Q 38.71875 58.0625 37.0625 59.5625 \n",
       "Q 35.40625 61.078125 33.078125 61.828125 \n",
       "Q 30.765625 62.59375 27.9375 62.59375 \n",
       "Q 25.296875 62.59375 22.96875 61.859375 \n",
       "Q 20.65625 61.140625 18.84375 59.671875 \n",
       "Q 17.046875 58.203125 15.890625 56.03125 \n",
       "Q 14.75 53.859375 14.40625 50.984375 \n",
       "L 5.421875 51.8125 \n",
       "Q 5.859375 55.515625 7.46875 58.78125 \n",
       "Q 9.078125 62.0625 11.90625 64.53125 \n",
       "Q 14.75 67 18.71875 68.40625 \n",
       "Q 22.703125 69.828125 27.9375 69.828125 \n",
       "Q 33.0625 69.828125 37.0625 68.609375 \n",
       "Q 41.0625 67.390625 43.8125 64.984375 \n",
       "Q 46.578125 62.59375 48.046875 59.078125 \n",
       "Q 49.515625 55.5625 49.515625 50.984375 \n",
       "Q 49.515625 47.515625 48.265625 44.390625 \n",
       "Q 47.015625 41.265625 44.9375 38.421875 \n",
       "Q 42.875 35.59375 40.140625 32.953125 \n",
       "Q 37.40625 30.328125 34.421875 27.8125 \n",
       "Q 31.453125 25.296875 28.421875 22.828125 \n",
       "Q 25.390625 20.359375 22.71875 17.859375 \n",
       "Q 20.0625 15.375 17.96875 12.8125 \n",
       "Q 15.875 10.25 14.703125 7.46875 \n",
       "L 50.59375 7.46875 \n",
       "L 50.59375 0 \n",
       "z\n",
       "\" id=\"LiberationSans-32\"/>\n",
       "      </defs>\n",
       "      <g style=\"fill:#262626;\" transform=\"translate(150.89546875 333.0078125)scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#LiberationSans-32\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"xtick_4\">\n",
       "     <g id=\"line2d_10\">\n",
       "      <path clip-path=\"url(#pcb8ad95ba4)\" d=\"M 203.275937 318.760938 \n",
       "L 203.275937 11.860938 \n",
       "\" style=\"fill:none;stroke:#ffffff;stroke-linecap:round;\"/>\n",
       "     </g>\n",
       "     <g id=\"line2d_11\">\n",
       "      <g>\n",
       "       <use style=\"fill:#262626;stroke:#262626;\" x=\"203.2759375\" xlink:href=\"#m8fdf5948b1\" y=\"318.7609375\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"line2d_12\">\n",
       "      <g>\n",
       "       <use style=\"fill:#262626;stroke:#262626;\" x=\"203.2759375\" xlink:href=\"#m8fdf5948b1\" y=\"11.8609375\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_4\">\n",
       "      <!-- 3 -->\n",
       "      <defs>\n",
       "       <path d=\"M 51.21875 19 \n",
       "Q 51.21875 14.265625 49.671875 10.546875 \n",
       "Q 48.140625 6.84375 45.1875 4.265625 \n",
       "Q 42.234375 1.703125 37.859375 0.359375 \n",
       "Q 33.5 -0.984375 27.875 -0.984375 \n",
       "Q 21.484375 -0.984375 17.109375 0.609375 \n",
       "Q 12.75 2.203125 9.90625 4.8125 \n",
       "Q 7.078125 7.421875 5.65625 10.765625 \n",
       "Q 4.25 14.109375 3.8125 17.671875 \n",
       "L 12.890625 18.5 \n",
       "Q 13.28125 15.765625 14.328125 13.515625 \n",
       "Q 15.375 11.28125 17.1875 9.671875 \n",
       "Q 19 8.0625 21.625 7.171875 \n",
       "Q 24.265625 6.296875 27.875 6.296875 \n",
       "Q 34.515625 6.296875 38.296875 9.5625 \n",
       "Q 42.09375 12.84375 42.09375 19.28125 \n",
       "Q 42.09375 23.09375 40.40625 25.40625 \n",
       "Q 38.71875 27.734375 36.203125 29.03125 \n",
       "Q 33.6875 30.328125 30.734375 30.765625 \n",
       "Q 27.78125 31.203125 25.296875 31.203125 \n",
       "L 20.3125 31.203125 \n",
       "L 20.3125 38.8125 \n",
       "L 25.09375 38.8125 \n",
       "Q 27.59375 38.8125 30.265625 39.328125 \n",
       "Q 32.953125 39.84375 35.171875 41.1875 \n",
       "Q 37.40625 42.53125 38.84375 44.828125 \n",
       "Q 40.28125 47.125 40.28125 50.6875 \n",
       "Q 40.28125 56.203125 37.03125 59.390625 \n",
       "Q 33.796875 62.59375 27.390625 62.59375 \n",
       "Q 21.578125 62.59375 17.984375 59.609375 \n",
       "Q 14.40625 56.640625 13.8125 51.21875 \n",
       "L 4.984375 51.90625 \n",
       "Q 5.515625 56.453125 7.46875 59.8125 \n",
       "Q 9.421875 63.1875 12.421875 65.40625 \n",
       "Q 15.4375 67.625 19.28125 68.71875 \n",
       "Q 23.140625 69.828125 27.484375 69.828125 \n",
       "Q 33.25 69.828125 37.390625 68.375 \n",
       "Q 41.546875 66.9375 44.1875 64.46875 \n",
       "Q 46.828125 62.015625 48.0625 58.6875 \n",
       "Q 49.3125 55.375 49.3125 51.609375 \n",
       "Q 49.3125 48.578125 48.484375 45.9375 \n",
       "Q 47.65625 43.3125 45.890625 41.203125 \n",
       "Q 44.140625 39.109375 41.421875 37.59375 \n",
       "Q 38.71875 36.078125 34.90625 35.296875 \n",
       "L 34.90625 35.109375 \n",
       "Q 39.0625 34.671875 42.140625 33.21875 \n",
       "Q 45.21875 31.78125 47.21875 29.625 \n",
       "Q 49.21875 27.484375 50.21875 24.75 \n",
       "Q 51.21875 22.015625 51.21875 19 \n",
       "\" id=\"LiberationSans-33\"/>\n",
       "      </defs>\n",
       "      <g style=\"fill:#262626;\" transform=\"translate(200.49546875 333.0078125)scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#LiberationSans-33\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"xtick_5\">\n",
       "     <g id=\"line2d_13\">\n",
       "      <path clip-path=\"url(#pcb8ad95ba4)\" d=\"M 252.875937 318.760938 \n",
       "L 252.875937 11.860938 \n",
       "\" style=\"fill:none;stroke:#ffffff;stroke-linecap:round;\"/>\n",
       "     </g>\n",
       "     <g id=\"line2d_14\">\n",
       "      <g>\n",
       "       <use style=\"fill:#262626;stroke:#262626;\" x=\"252.8759375\" xlink:href=\"#m8fdf5948b1\" y=\"318.7609375\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"line2d_15\">\n",
       "      <g>\n",
       "       <use style=\"fill:#262626;stroke:#262626;\" x=\"252.8759375\" xlink:href=\"#m8fdf5948b1\" y=\"11.8609375\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_5\">\n",
       "      <!-- 4 -->\n",
       "      <defs>\n",
       "       <path d=\"M 43.015625 15.578125 \n",
       "L 43.015625 0 \n",
       "L 34.71875 0 \n",
       "L 34.71875 15.578125 \n",
       "L 2.296875 15.578125 \n",
       "L 2.296875 22.40625 \n",
       "L 33.796875 68.796875 \n",
       "L 43.015625 68.796875 \n",
       "L 43.015625 22.515625 \n",
       "L 52.6875 22.515625 \n",
       "L 52.6875 15.578125 \n",
       "z\n",
       "M 34.71875 58.890625 \n",
       "Q 34.625 58.640625 34.234375 57.9375 \n",
       "Q 33.84375 57.234375 33.34375 56.34375 \n",
       "Q 32.859375 55.46875 32.34375 54.5625 \n",
       "Q 31.84375 53.65625 31.453125 53.078125 \n",
       "L 13.8125 27.09375 \n",
       "Q 13.578125 26.703125 13.109375 26.0625 \n",
       "Q 12.640625 25.4375 12.15625 24.78125 \n",
       "Q 11.671875 24.125 11.171875 23.484375 \n",
       "Q 10.6875 22.859375 10.40625 22.515625 \n",
       "L 34.71875 22.515625 \n",
       "z\n",
       "\" id=\"LiberationSans-34\"/>\n",
       "      </defs>\n",
       "      <g style=\"fill:#262626;\" transform=\"translate(250.09546875 333.0078125)scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#LiberationSans-34\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"xtick_6\">\n",
       "     <g id=\"line2d_16\">\n",
       "      <path clip-path=\"url(#pcb8ad95ba4)\" d=\"M 302.475937 318.760938 \n",
       "L 302.475937 11.860938 \n",
       "\" style=\"fill:none;stroke:#ffffff;stroke-linecap:round;\"/>\n",
       "     </g>\n",
       "     <g id=\"line2d_17\">\n",
       "      <g>\n",
       "       <use style=\"fill:#262626;stroke:#262626;\" x=\"302.4759375\" xlink:href=\"#m8fdf5948b1\" y=\"318.7609375\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"line2d_18\">\n",
       "      <g>\n",
       "       <use style=\"fill:#262626;stroke:#262626;\" x=\"302.4759375\" xlink:href=\"#m8fdf5948b1\" y=\"11.8609375\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_6\">\n",
       "      <!-- 5 -->\n",
       "      <defs>\n",
       "       <path d=\"M 51.421875 22.40625 \n",
       "Q 51.421875 17.234375 49.859375 12.9375 \n",
       "Q 48.296875 8.640625 45.21875 5.53125 \n",
       "Q 42.140625 2.4375 37.578125 0.71875 \n",
       "Q 33.015625 -0.984375 27 -0.984375 \n",
       "Q 21.578125 -0.984375 17.546875 0.28125 \n",
       "Q 13.53125 1.5625 10.734375 3.78125 \n",
       "Q 7.953125 6 6.3125 8.984375 \n",
       "Q 4.6875 11.96875 4 15.375 \n",
       "L 12.890625 16.40625 \n",
       "Q 13.421875 14.453125 14.390625 12.625 \n",
       "Q 15.375 10.796875 17.0625 9.34375 \n",
       "Q 18.75 7.90625 21.21875 7.046875 \n",
       "Q 23.6875 6.203125 27.203125 6.203125 \n",
       "Q 30.609375 6.203125 33.390625 7.25 \n",
       "Q 36.1875 8.296875 38.15625 10.34375 \n",
       "Q 40.140625 12.40625 41.203125 15.375 \n",
       "Q 42.28125 18.359375 42.28125 22.21875 \n",
       "Q 42.28125 25.390625 41.25 28.046875 \n",
       "Q 40.234375 30.71875 38.328125 32.640625 \n",
       "Q 36.421875 34.578125 33.65625 35.640625 \n",
       "Q 30.90625 36.71875 27.390625 36.71875 \n",
       "Q 25.203125 36.71875 23.34375 36.328125 \n",
       "Q 21.484375 35.9375 19.890625 35.25 \n",
       "Q 18.3125 34.578125 17.015625 33.671875 \n",
       "Q 15.71875 32.765625 14.59375 31.78125 \n",
       "L 6 31.78125 \n",
       "L 8.296875 68.796875 \n",
       "L 47.40625 68.796875 \n",
       "L 47.40625 61.328125 \n",
       "L 16.3125 61.328125 \n",
       "L 14.984375 39.5 \n",
       "Q 17.328125 41.3125 20.84375 42.59375 \n",
       "Q 24.359375 43.890625 29.203125 43.890625 \n",
       "Q 34.328125 43.890625 38.421875 42.328125 \n",
       "Q 42.53125 40.765625 45.40625 37.90625 \n",
       "Q 48.296875 35.0625 49.859375 31.109375 \n",
       "Q 51.421875 27.15625 51.421875 22.40625 \n",
       "\" id=\"LiberationSans-35\"/>\n",
       "      </defs>\n",
       "      <g style=\"fill:#262626;\" transform=\"translate(299.69546875 333.0078125)scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#LiberationSans-35\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"xtick_7\">\n",
       "     <g id=\"line2d_19\">\n",
       "      <path clip-path=\"url(#pcb8ad95ba4)\" d=\"M 352.075937 318.760938 \n",
       "L 352.075937 11.860938 \n",
       "\" style=\"fill:none;stroke:#ffffff;stroke-linecap:round;\"/>\n",
       "     </g>\n",
       "     <g id=\"line2d_20\">\n",
       "      <g>\n",
       "       <use style=\"fill:#262626;stroke:#262626;\" x=\"352.0759375\" xlink:href=\"#m8fdf5948b1\" y=\"318.7609375\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"line2d_21\">\n",
       "      <g>\n",
       "       <use style=\"fill:#262626;stroke:#262626;\" x=\"352.0759375\" xlink:href=\"#m8fdf5948b1\" y=\"11.8609375\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_7\">\n",
       "      <!-- 6 -->\n",
       "      <defs>\n",
       "       <path d=\"M 51.21875 22.515625 \n",
       "Q 51.21875 17.328125 49.78125 13 \n",
       "Q 48.34375 8.6875 45.53125 5.578125 \n",
       "Q 42.71875 2.484375 38.5625 0.75 \n",
       "Q 34.421875 -0.984375 29 -0.984375 \n",
       "Q 23 -0.984375 18.5 1.3125 \n",
       "Q 14.015625 3.609375 11.03125 7.921875 \n",
       "Q 8.0625 12.25 6.5625 18.53125 \n",
       "Q 5.078125 24.8125 5.078125 32.8125 \n",
       "Q 5.078125 42 6.765625 48.921875 \n",
       "Q 8.453125 55.859375 11.625 60.5 \n",
       "Q 14.796875 65.140625 19.359375 67.484375 \n",
       "Q 23.921875 69.828125 29.6875 69.828125 \n",
       "Q 33.203125 69.828125 36.28125 69.09375 \n",
       "Q 39.359375 68.359375 41.875 66.71875 \n",
       "Q 44.390625 65.09375 46.28125 62.40625 \n",
       "Q 48.1875 59.71875 49.3125 55.8125 \n",
       "L 40.921875 54.296875 \n",
       "Q 39.546875 58.734375 36.546875 60.71875 \n",
       "Q 33.546875 62.703125 29.59375 62.703125 \n",
       "Q 25.984375 62.703125 23.046875 60.984375 \n",
       "Q 20.125 59.28125 18.0625 55.875 \n",
       "Q 16.015625 52.484375 14.90625 47.359375 \n",
       "Q 13.8125 42.234375 13.8125 35.40625 \n",
       "Q 16.21875 39.84375 20.5625 42.15625 \n",
       "Q 24.90625 44.484375 30.515625 44.484375 \n",
       "Q 35.203125 44.484375 39.015625 42.96875 \n",
       "Q 42.828125 41.453125 45.53125 38.59375 \n",
       "Q 48.25 35.75 49.734375 31.671875 \n",
       "Q 51.21875 27.59375 51.21875 22.515625 \n",
       "M 42.28125 22.125 \n",
       "Q 42.28125 25.6875 41.40625 28.5625 \n",
       "Q 40.53125 31.453125 38.765625 33.46875 \n",
       "Q 37.015625 35.5 34.421875 36.59375 \n",
       "Q 31.84375 37.703125 28.421875 37.703125 \n",
       "Q 26.03125 37.703125 23.578125 36.984375 \n",
       "Q 21.140625 36.28125 19.15625 34.6875 \n",
       "Q 17.1875 33.109375 15.9375 30.515625 \n",
       "Q 14.703125 27.9375 14.703125 24.21875 \n",
       "Q 14.703125 20.40625 15.671875 17.109375 \n",
       "Q 16.65625 13.8125 18.484375 11.375 \n",
       "Q 20.3125 8.9375 22.890625 7.515625 \n",
       "Q 25.484375 6.109375 28.71875 6.109375 \n",
       "Q 31.890625 6.109375 34.40625 7.203125 \n",
       "Q 36.921875 8.296875 38.671875 10.375 \n",
       "Q 40.4375 12.453125 41.359375 15.421875 \n",
       "Q 42.28125 18.40625 42.28125 22.125 \n",
       "\" id=\"LiberationSans-36\"/>\n",
       "      </defs>\n",
       "      <g style=\"fill:#262626;\" transform=\"translate(349.29546875 333.0078125)scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#LiberationSans-36\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"xtick_8\">\n",
       "     <g id=\"line2d_22\">\n",
       "      <path clip-path=\"url(#pcb8ad95ba4)\" d=\"M 401.675937 318.760938 \n",
       "L 401.675937 11.860938 \n",
       "\" style=\"fill:none;stroke:#ffffff;stroke-linecap:round;\"/>\n",
       "     </g>\n",
       "     <g id=\"line2d_23\">\n",
       "      <g>\n",
       "       <use style=\"fill:#262626;stroke:#262626;\" x=\"401.6759375\" xlink:href=\"#m8fdf5948b1\" y=\"318.7609375\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"line2d_24\">\n",
       "      <g>\n",
       "       <use style=\"fill:#262626;stroke:#262626;\" x=\"401.6759375\" xlink:href=\"#m8fdf5948b1\" y=\"11.8609375\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_8\">\n",
       "      <!-- 7 -->\n",
       "      <defs>\n",
       "       <path d=\"M 50.59375 61.671875 \n",
       "Q 45.40625 53.765625 41.0625 46.453125 \n",
       "Q 36.71875 39.15625 33.59375 31.75 \n",
       "Q 30.46875 24.359375 28.734375 16.578125 \n",
       "Q 27 8.796875 27 0 \n",
       "L 17.828125 0 \n",
       "Q 17.828125 8.25 19.78125 16.1875 \n",
       "Q 21.734375 24.125 25.046875 31.765625 \n",
       "Q 28.375 39.40625 32.765625 46.78125 \n",
       "Q 37.15625 54.15625 42.09375 61.328125 \n",
       "L 5.125 61.328125 \n",
       "L 5.125 68.796875 \n",
       "L 50.59375 68.796875 \n",
       "z\n",
       "\" id=\"LiberationSans-37\"/>\n",
       "      </defs>\n",
       "      <g style=\"fill:#262626;\" transform=\"translate(398.89546875 333.0078125)scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#LiberationSans-37\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"xtick_9\">\n",
       "     <g id=\"line2d_25\">\n",
       "      <path clip-path=\"url(#pcb8ad95ba4)\" d=\"M 451.275937 318.760938 \n",
       "L 451.275937 11.860938 \n",
       "\" style=\"fill:none;stroke:#ffffff;stroke-linecap:round;\"/>\n",
       "     </g>\n",
       "     <g id=\"line2d_26\">\n",
       "      <g>\n",
       "       <use style=\"fill:#262626;stroke:#262626;\" x=\"451.2759375\" xlink:href=\"#m8fdf5948b1\" y=\"318.7609375\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"line2d_27\">\n",
       "      <g>\n",
       "       <use style=\"fill:#262626;stroke:#262626;\" x=\"451.2759375\" xlink:href=\"#m8fdf5948b1\" y=\"11.8609375\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_9\">\n",
       "      <!-- 8 -->\n",
       "      <defs>\n",
       "       <path d=\"M 51.265625 19.1875 \n",
       "Q 51.265625 14.796875 49.875 11.109375 \n",
       "Q 48.484375 7.421875 45.625 4.734375 \n",
       "Q 42.78125 2.046875 38.328125 0.53125 \n",
       "Q 33.890625 -0.984375 27.828125 -0.984375 \n",
       "Q 21.78125 -0.984375 17.359375 0.53125 \n",
       "Q 12.9375 2.046875 10.03125 4.703125 \n",
       "Q 7.125 7.375 5.734375 11.0625 \n",
       "Q 4.34375 14.75 4.34375 19.09375 \n",
       "Q 4.34375 22.859375 5.484375 25.78125 \n",
       "Q 6.640625 28.71875 8.5625 30.828125 \n",
       "Q 10.5 32.953125 12.96875 34.25 \n",
       "Q 15.4375 35.546875 18.0625 35.984375 \n",
       "L 18.0625 36.1875 \n",
       "Q 15.1875 36.859375 12.90625 38.375 \n",
       "Q 10.640625 39.890625 9.09375 42.015625 \n",
       "Q 7.5625 44.140625 6.75 46.71875 \n",
       "Q 5.953125 49.3125 5.953125 52.203125 \n",
       "Q 5.953125 55.8125 7.34375 59 \n",
       "Q 8.734375 62.203125 11.46875 64.625 \n",
       "Q 14.203125 67.046875 18.25 68.4375 \n",
       "Q 22.3125 69.828125 27.640625 69.828125 \n",
       "Q 33.25 69.828125 37.375 68.40625 \n",
       "Q 41.5 67 44.203125 64.578125 \n",
       "Q 46.921875 62.15625 48.234375 58.9375 \n",
       "Q 49.5625 55.71875 49.5625 52.09375 \n",
       "Q 49.5625 49.265625 48.75 46.671875 \n",
       "Q 47.953125 44.09375 46.40625 41.96875 \n",
       "Q 44.875 39.84375 42.59375 38.34375 \n",
       "Q 40.328125 36.859375 37.359375 36.28125 \n",
       "L 37.359375 36.078125 \n",
       "Q 40.328125 35.59375 42.859375 34.296875 \n",
       "Q 45.40625 33.015625 47.265625 30.890625 \n",
       "Q 49.125 28.765625 50.1875 25.828125 \n",
       "Q 51.265625 22.90625 51.265625 19.1875 \n",
       "M 40.4375 51.609375 \n",
       "Q 40.4375 54.203125 39.765625 56.34375 \n",
       "Q 39.109375 58.5 37.59375 60.03125 \n",
       "Q 36.078125 61.578125 33.640625 62.421875 \n",
       "Q 31.203125 63.28125 27.640625 63.28125 \n",
       "Q 24.171875 63.28125 21.78125 62.421875 \n",
       "Q 19.390625 61.578125 17.84375 60.03125 \n",
       "Q 16.3125 58.5 15.625 56.34375 \n",
       "Q 14.9375 54.203125 14.9375 51.609375 \n",
       "Q 14.9375 49.5625 15.46875 47.40625 \n",
       "Q 16.015625 45.265625 17.421875 43.5 \n",
       "Q 18.84375 41.75 21.328125 40.625 \n",
       "Q 23.828125 39.5 27.734375 39.5 \n",
       "Q 31.890625 39.5 34.40625 40.625 \n",
       "Q 36.921875 41.75 38.25 43.5 \n",
       "Q 39.59375 45.265625 40.015625 47.40625 \n",
       "Q 40.4375 49.5625 40.4375 51.609375 \n",
       "M 42.140625 20.015625 \n",
       "Q 42.140625 22.515625 41.453125 24.828125 \n",
       "Q 40.765625 27.15625 39.109375 28.9375 \n",
       "Q 37.453125 30.71875 34.640625 31.8125 \n",
       "Q 31.84375 32.90625 27.640625 32.90625 \n",
       "Q 23.78125 32.90625 21.0625 31.8125 \n",
       "Q 18.359375 30.71875 16.671875 28.90625 \n",
       "Q 14.984375 27.09375 14.203125 24.71875 \n",
       "Q 13.421875 22.359375 13.421875 19.828125 \n",
       "Q 13.421875 16.65625 14.203125 14.03125 \n",
       "Q 14.984375 11.421875 16.6875 9.546875 \n",
       "Q 18.40625 7.671875 21.1875 6.640625 \n",
       "Q 23.96875 5.609375 27.9375 5.609375 \n",
       "Q 31.9375 5.609375 34.671875 6.640625 \n",
       "Q 37.40625 7.671875 39.0625 9.546875 \n",
       "Q 40.71875 11.421875 41.421875 14.078125 \n",
       "Q 42.140625 16.75 42.140625 20.015625 \n",
       "\" id=\"LiberationSans-38\"/>\n",
       "      </defs>\n",
       "      <g style=\"fill:#262626;\" transform=\"translate(448.49546875 333.0078125)scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#LiberationSans-38\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"xtick_10\">\n",
       "     <g id=\"line2d_28\">\n",
       "      <path clip-path=\"url(#pcb8ad95ba4)\" d=\"M 500.875937 318.760938 \n",
       "L 500.875937 11.860938 \n",
       "\" style=\"fill:none;stroke:#ffffff;stroke-linecap:round;\"/>\n",
       "     </g>\n",
       "     <g id=\"line2d_29\">\n",
       "      <g>\n",
       "       <use style=\"fill:#262626;stroke:#262626;\" x=\"500.8759375\" xlink:href=\"#m8fdf5948b1\" y=\"318.7609375\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"line2d_30\">\n",
       "      <g>\n",
       "       <use style=\"fill:#262626;stroke:#262626;\" x=\"500.8759375\" xlink:href=\"#m8fdf5948b1\" y=\"11.8609375\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_10\">\n",
       "      <!-- 9 -->\n",
       "      <defs>\n",
       "       <path d=\"M 50.875 35.796875 \n",
       "Q 50.875 26.609375 49.140625 19.703125 \n",
       "Q 47.40625 12.796875 44.1875 8.203125 \n",
       "Q 40.96875 3.609375 36.34375 1.3125 \n",
       "Q 31.734375 -0.984375 25.984375 -0.984375 \n",
       "Q 22.015625 -0.984375 18.84375 -0.171875 \n",
       "Q 15.671875 0.640625 13.171875 2.34375 \n",
       "Q 10.6875 4.046875 8.921875 6.78125 \n",
       "Q 7.171875 9.515625 6.109375 13.375 \n",
       "L 14.5 14.703125 \n",
       "Q 15.875 10.25 18.78125 8.171875 \n",
       "Q 21.6875 6.109375 26.125 6.109375 \n",
       "Q 29.6875 6.109375 32.640625 7.78125 \n",
       "Q 35.59375 9.46875 37.671875 12.84375 \n",
       "Q 39.75 16.21875 40.921875 21.296875 \n",
       "Q 42.09375 26.375 42.1875 33.203125 \n",
       "Q 41.15625 30.90625 39.375 29.09375 \n",
       "Q 37.59375 27.296875 35.328125 26.046875 \n",
       "Q 33.0625 24.8125 30.421875 24.140625 \n",
       "Q 27.78125 23.484375 25.09375 23.484375 \n",
       "Q 20.40625 23.484375 16.625 25.171875 \n",
       "Q 12.84375 26.859375 10.203125 29.875 \n",
       "Q 7.5625 32.90625 6.125 37.171875 \n",
       "Q 4.6875 41.453125 4.6875 46.6875 \n",
       "Q 4.6875 52 6.21875 56.296875 \n",
       "Q 7.765625 60.59375 10.6875 63.59375 \n",
       "Q 13.625 66.609375 17.890625 68.21875 \n",
       "Q 22.171875 69.828125 27.59375 69.828125 \n",
       "Q 39.0625 69.828125 44.96875 61.328125 \n",
       "Q 50.875 52.828125 50.875 35.796875 \n",
       "M 41.3125 44.28125 \n",
       "Q 41.3125 48.09375 40.40625 51.453125 \n",
       "Q 39.5 54.828125 37.71875 57.3125 \n",
       "Q 35.9375 59.8125 33.328125 61.25 \n",
       "Q 30.71875 62.703125 27.296875 62.703125 \n",
       "Q 24.125 62.703125 21.578125 61.578125 \n",
       "Q 19.046875 60.453125 17.28125 58.375 \n",
       "Q 15.53125 56.296875 14.578125 53.3125 \n",
       "Q 13.625 50.34375 13.625 46.6875 \n",
       "Q 13.625 43.21875 14.46875 40.234375 \n",
       "Q 15.328125 37.25 17.03125 35.078125 \n",
       "Q 18.75 32.90625 21.28125 31.65625 \n",
       "Q 23.828125 30.421875 27.203125 30.421875 \n",
       "Q 29.640625 30.421875 32.15625 31.25 \n",
       "Q 34.671875 32.078125 36.6875 33.78125 \n",
       "Q 38.71875 35.5 40.015625 38.109375 \n",
       "Q 41.3125 40.71875 41.3125 44.28125 \n",
       "\" id=\"LiberationSans-39\"/>\n",
       "      </defs>\n",
       "      <g style=\"fill:#262626;\" transform=\"translate(498.09546875 333.0078125)scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#LiberationSans-39\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"text_11\">\n",
       "     <!-- Epoch -->\n",
       "     <defs>\n",
       "      <path d=\"M 8.203125 0 \n",
       "L 8.203125 68.796875 \n",
       "L 60.40625 68.796875 \n",
       "L 60.40625 61.1875 \n",
       "L 17.53125 61.1875 \n",
       "L 17.53125 39.109375 \n",
       "L 57.46875 39.109375 \n",
       "L 57.46875 31.59375 \n",
       "L 17.53125 31.59375 \n",
       "L 17.53125 7.625 \n",
       "L 62.40625 7.625 \n",
       "L 62.40625 0 \n",
       "z\n",
       "\" id=\"LiberationSans-45\"/>\n",
       "      <path d=\"M 51.421875 26.65625 \n",
       "Q 51.421875 20.65625 50.4375 15.578125 \n",
       "Q 49.46875 10.5 47.1875 6.828125 \n",
       "Q 44.921875 3.171875 41.1875 1.09375 \n",
       "Q 37.453125 -0.984375 31.984375 -0.984375 \n",
       "Q 26.3125 -0.984375 22.0625 1.171875 \n",
       "Q 17.828125 3.328125 15.578125 8.203125 \n",
       "L 15.328125 8.203125 \n",
       "Q 15.375 8.109375 15.40625 7.328125 \n",
       "Q 15.4375 6.546875 15.453125 5.375 \n",
       "Q 15.484375 4.203125 15.5 2.75 \n",
       "Q 15.53125 1.3125 15.53125 -0.09375 \n",
       "L 15.53125 -20.75 \n",
       "L 6.734375 -20.75 \n",
       "L 6.734375 42.046875 \n",
       "Q 6.734375 43.953125 6.703125 45.703125 \n",
       "Q 6.6875 47.46875 6.640625 48.90625 \n",
       "Q 6.59375 50.34375 6.546875 51.359375 \n",
       "Q 6.5 52.390625 6.453125 52.828125 \n",
       "L 14.9375 52.828125 \n",
       "Q 14.984375 52.6875 15.0625 51.796875 \n",
       "Q 15.140625 50.921875 15.203125 49.671875 \n",
       "Q 15.28125 48.4375 15.359375 47.015625 \n",
       "Q 15.4375 45.609375 15.4375 44.34375 \n",
       "L 15.625 44.34375 \n",
       "Q 16.84375 46.875 18.40625 48.65625 \n",
       "Q 19.96875 50.4375 21.96875 51.578125 \n",
       "Q 23.96875 52.734375 26.4375 53.25 \n",
       "Q 28.90625 53.765625 31.984375 53.765625 \n",
       "Q 37.453125 53.765625 41.1875 51.8125 \n",
       "Q 44.921875 49.859375 47.1875 46.3125 \n",
       "Q 49.46875 42.78125 50.4375 37.765625 \n",
       "Q 51.421875 32.765625 51.421875 26.65625 \n",
       "M 42.1875 26.46875 \n",
       "Q 42.1875 31.34375 41.59375 35.15625 \n",
       "Q 41.015625 38.96875 39.578125 41.59375 \n",
       "Q 38.140625 44.234375 35.734375 45.59375 \n",
       "Q 33.34375 46.96875 29.734375 46.96875 \n",
       "Q 26.8125 46.96875 24.21875 46.140625 \n",
       "Q 21.625 45.3125 19.703125 42.96875 \n",
       "Q 17.78125 40.625 16.65625 36.5 \n",
       "Q 15.53125 32.375 15.53125 25.78125 \n",
       "Q 15.53125 20.171875 16.453125 16.28125 \n",
       "Q 17.390625 12.40625 19.171875 10.015625 \n",
       "Q 20.953125 7.625 23.578125 6.5625 \n",
       "Q 26.21875 5.515625 29.640625 5.515625 \n",
       "Q 33.296875 5.515625 35.71875 6.921875 \n",
       "Q 38.140625 8.34375 39.578125 11.03125 \n",
       "Q 41.015625 13.71875 41.59375 17.59375 \n",
       "Q 42.1875 21.484375 42.1875 26.46875 \n",
       "\" id=\"LiberationSans-70\"/>\n",
       "      <path d=\"M 51.421875 26.46875 \n",
       "Q 51.421875 12.59375 45.3125 5.796875 \n",
       "Q 39.203125 -0.984375 27.59375 -0.984375 \n",
       "Q 22.078125 -0.984375 17.71875 0.671875 \n",
       "Q 13.375 2.34375 10.375 5.765625 \n",
       "Q 7.375 9.1875 5.78125 14.328125 \n",
       "Q 4.203125 19.484375 4.203125 26.46875 \n",
       "Q 4.203125 53.8125 27.875 53.8125 \n",
       "Q 34.03125 53.8125 38.5 52.09375 \n",
       "Q 42.96875 50.390625 45.828125 46.96875 \n",
       "Q 48.6875 43.5625 50.046875 38.421875 \n",
       "Q 51.421875 33.296875 51.421875 26.46875 \n",
       "M 42.1875 26.46875 \n",
       "Q 42.1875 32.625 41.234375 36.625 \n",
       "Q 40.28125 40.625 38.453125 43.015625 \n",
       "Q 36.625 45.40625 33.984375 46.359375 \n",
       "Q 31.34375 47.3125 28.03125 47.3125 \n",
       "Q 24.65625 47.3125 21.9375 46.3125 \n",
       "Q 19.234375 45.3125 17.328125 42.890625 \n",
       "Q 15.4375 40.484375 14.421875 36.46875 \n",
       "Q 13.421875 32.46875 13.421875 26.46875 \n",
       "Q 13.421875 20.3125 14.5 16.28125 \n",
       "Q 15.578125 12.25 17.453125 9.859375 \n",
       "Q 19.34375 7.46875 21.90625 6.484375 \n",
       "Q 24.46875 5.515625 27.484375 5.515625 \n",
       "Q 30.859375 5.515625 33.59375 6.46875 \n",
       "Q 36.328125 7.421875 38.234375 9.8125 \n",
       "Q 40.140625 12.203125 41.15625 16.25 \n",
       "Q 42.1875 20.3125 42.1875 26.46875 \n",
       "\" id=\"LiberationSans-6f\"/>\n",
       "      <path d=\"M 15.484375 43.796875 \n",
       "Q 16.9375 46.484375 18.640625 48.359375 \n",
       "Q 20.359375 50.25 22.40625 51.46875 \n",
       "Q 24.46875 52.6875 26.90625 53.25 \n",
       "Q 29.34375 53.8125 32.375 53.8125 \n",
       "Q 37.453125 53.8125 40.703125 52.4375 \n",
       "Q 43.953125 51.078125 45.828125 48.609375 \n",
       "Q 47.703125 46.140625 48.40625 42.71875 \n",
       "Q 49.125 39.3125 49.125 35.203125 \n",
       "L 49.125 0 \n",
       "L 40.28125 0 \n",
       "L 40.28125 33.5 \n",
       "Q 40.28125 36.859375 39.859375 39.390625 \n",
       "Q 39.453125 41.9375 38.28125 43.625 \n",
       "Q 37.109375 45.3125 34.953125 46.15625 \n",
       "Q 32.8125 47.015625 29.390625 47.015625 \n",
       "Q 26.265625 47.015625 23.75 45.890625 \n",
       "Q 21.234375 44.78125 19.453125 42.71875 \n",
       "Q 17.671875 40.671875 16.6875 37.734375 \n",
       "Q 15.71875 34.8125 15.71875 31.15625 \n",
       "L 15.71875 0 \n",
       "L 6.9375 0 \n",
       "L 6.9375 72.46875 \n",
       "L 15.71875 72.46875 \n",
       "L 15.71875 53.609375 \n",
       "Q 15.71875 52 15.671875 50.390625 \n",
       "Q 15.625 48.78125 15.546875 47.40625 \n",
       "Q 15.484375 46.046875 15.421875 45.09375 \n",
       "Q 15.375 44.140625 15.328125 43.796875 \n",
       "z\n",
       "\" id=\"LiberationSans-68\"/>\n",
       "      <path d=\"M 13.421875 26.65625 \n",
       "Q 13.421875 22.125 14.078125 18.3125 \n",
       "Q 14.75 14.5 16.3125 11.734375 \n",
       "Q 17.875 8.984375 20.4375 7.46875 \n",
       "Q 23 5.953125 26.765625 5.953125 \n",
       "Q 31.453125 5.953125 34.59375 8.484375 \n",
       "Q 37.75 11.03125 38.484375 16.3125 \n",
       "L 47.359375 15.71875 \n",
       "Q 46.921875 12.453125 45.453125 9.421875 \n",
       "Q 44 6.390625 41.484375 4.09375 \n",
       "Q 38.96875 1.8125 35.34375 0.40625 \n",
       "Q 31.734375 -0.984375 27 -0.984375 \n",
       "Q 20.796875 -0.984375 16.453125 1.109375 \n",
       "Q 12.109375 3.21875 9.390625 6.90625 \n",
       "Q 6.6875 10.59375 5.46875 15.59375 \n",
       "Q 4.25 20.609375 4.25 26.46875 \n",
       "Q 4.25 31.78125 5.125 35.859375 \n",
       "Q 6 39.9375 7.59375 42.984375 \n",
       "Q 9.1875 46.046875 11.328125 48.125 \n",
       "Q 13.484375 50.203125 15.984375 51.4375 \n",
       "Q 18.5 52.6875 21.28125 53.25 \n",
       "Q 24.078125 53.8125 26.90625 53.8125 \n",
       "Q 31.34375 53.8125 34.8125 52.59375 \n",
       "Q 38.28125 51.375 40.796875 49.25 \n",
       "Q 43.3125 47.125 44.875 44.234375 \n",
       "Q 46.4375 41.359375 47.078125 38.03125 \n",
       "L 38.03125 37.359375 \n",
       "Q 37.359375 41.75 34.5625 44.328125 \n",
       "Q 31.78125 46.921875 26.65625 46.921875 \n",
       "Q 22.90625 46.921875 20.390625 45.671875 \n",
       "Q 17.875 44.4375 16.3125 41.921875 \n",
       "Q 14.75 39.40625 14.078125 35.59375 \n",
       "Q 13.421875 31.78125 13.421875 26.65625 \n",
       "\" id=\"LiberationSans-63\"/>\n",
       "     </defs>\n",
       "     <g style=\"fill:#262626;\" transform=\"translate(262.08171875 348.054375)scale(0.11 -0.11)\">\n",
       "      <use xlink:href=\"#LiberationSans-45\"/>\n",
       "      <use x=\"66.69921875\" xlink:href=\"#LiberationSans-70\"/>\n",
       "      <use x=\"122.314453125\" xlink:href=\"#LiberationSans-6f\"/>\n",
       "      <use x=\"177.9296875\" xlink:href=\"#LiberationSans-63\"/>\n",
       "      <use x=\"227.9296875\" xlink:href=\"#LiberationSans-68\"/>\n",
       "     </g>\n",
       "    </g>\n",
       "   </g>\n",
       "   <g id=\"matplotlib.axis_2\">\n",
       "    <g id=\"ytick_1\">\n",
       "     <g id=\"line2d_31\">\n",
       "      <path clip-path=\"url(#pcb8ad95ba4)\" d=\"M 54.475938 318.760938 \n",
       "L 500.875937 318.760938 \n",
       "\" style=\"fill:none;stroke:#ffffff;stroke-linecap:round;\"/>\n",
       "     </g>\n",
       "     <g id=\"line2d_32\">\n",
       "      <g>\n",
       "       <use style=\"fill:#262626;stroke:#262626;\" x=\"54.4759375\" xlink:href=\"#m8fdf5948b1\" y=\"318.7609375\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"line2d_33\">\n",
       "      <g>\n",
       "       <use style=\"fill:#262626;stroke:#262626;\" x=\"500.8759375\" xlink:href=\"#m8fdf5948b1\" y=\"318.7609375\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_12\">\n",
       "      <!-- 0.055 -->\n",
       "      <defs>\n",
       "       <path d=\"M 9.125 0 \n",
       "L 9.125 10.6875 \n",
       "L 18.65625 10.6875 \n",
       "L 18.65625 0 \n",
       "z\n",
       "\" id=\"LiberationSans-2e\"/>\n",
       "      </defs>\n",
       "      <g style=\"fill:#262626;\" transform=\"translate(22.4540625 321.346875)scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#LiberationSans-30\"/>\n",
       "       <use x=\"55.615234375\" xlink:href=\"#LiberationSans-2e\"/>\n",
       "       <use x=\"83.3984375\" xlink:href=\"#LiberationSans-30\"/>\n",
       "       <use x=\"139.013671875\" xlink:href=\"#LiberationSans-35\"/>\n",
       "       <use x=\"194.62890625\" xlink:href=\"#LiberationSans-35\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"ytick_2\">\n",
       "     <g id=\"line2d_34\">\n",
       "      <path clip-path=\"url(#pcb8ad95ba4)\" d=\"M 54.475938 267.610938 \n",
       "L 500.875937 267.610938 \n",
       "\" style=\"fill:none;stroke:#ffffff;stroke-linecap:round;\"/>\n",
       "     </g>\n",
       "     <g id=\"line2d_35\">\n",
       "      <g>\n",
       "       <use style=\"fill:#262626;stroke:#262626;\" x=\"54.4759375\" xlink:href=\"#m8fdf5948b1\" y=\"267.6109375\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"line2d_36\">\n",
       "      <g>\n",
       "       <use style=\"fill:#262626;stroke:#262626;\" x=\"500.8759375\" xlink:href=\"#m8fdf5948b1\" y=\"267.6109375\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_13\">\n",
       "      <!-- 0.060 -->\n",
       "      <g style=\"fill:#262626;\" transform=\"translate(22.4540625 270.196875)scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#LiberationSans-30\"/>\n",
       "       <use x=\"55.615234375\" xlink:href=\"#LiberationSans-2e\"/>\n",
       "       <use x=\"83.3984375\" xlink:href=\"#LiberationSans-30\"/>\n",
       "       <use x=\"139.013671875\" xlink:href=\"#LiberationSans-36\"/>\n",
       "       <use x=\"194.62890625\" xlink:href=\"#LiberationSans-30\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"ytick_3\">\n",
       "     <g id=\"line2d_37\">\n",
       "      <path clip-path=\"url(#pcb8ad95ba4)\" d=\"M 54.475938 216.460938 \n",
       "L 500.875937 216.460938 \n",
       "\" style=\"fill:none;stroke:#ffffff;stroke-linecap:round;\"/>\n",
       "     </g>\n",
       "     <g id=\"line2d_38\">\n",
       "      <g>\n",
       "       <use style=\"fill:#262626;stroke:#262626;\" x=\"54.4759375\" xlink:href=\"#m8fdf5948b1\" y=\"216.4609375\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"line2d_39\">\n",
       "      <g>\n",
       "       <use style=\"fill:#262626;stroke:#262626;\" x=\"500.8759375\" xlink:href=\"#m8fdf5948b1\" y=\"216.4609375\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_14\">\n",
       "      <!-- 0.065 -->\n",
       "      <g style=\"fill:#262626;\" transform=\"translate(22.4540625 219.046875)scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#LiberationSans-30\"/>\n",
       "       <use x=\"55.615234375\" xlink:href=\"#LiberationSans-2e\"/>\n",
       "       <use x=\"83.3984375\" xlink:href=\"#LiberationSans-30\"/>\n",
       "       <use x=\"139.013671875\" xlink:href=\"#LiberationSans-36\"/>\n",
       "       <use x=\"194.62890625\" xlink:href=\"#LiberationSans-35\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"ytick_4\">\n",
       "     <g id=\"line2d_40\">\n",
       "      <path clip-path=\"url(#pcb8ad95ba4)\" d=\"M 54.475938 165.310938 \n",
       "L 500.875937 165.310938 \n",
       "\" style=\"fill:none;stroke:#ffffff;stroke-linecap:round;\"/>\n",
       "     </g>\n",
       "     <g id=\"line2d_41\">\n",
       "      <g>\n",
       "       <use style=\"fill:#262626;stroke:#262626;\" x=\"54.4759375\" xlink:href=\"#m8fdf5948b1\" y=\"165.3109375\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"line2d_42\">\n",
       "      <g>\n",
       "       <use style=\"fill:#262626;stroke:#262626;\" x=\"500.8759375\" xlink:href=\"#m8fdf5948b1\" y=\"165.3109375\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_15\">\n",
       "      <!-- 0.070 -->\n",
       "      <g style=\"fill:#262626;\" transform=\"translate(22.4540625 167.896875)scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#LiberationSans-30\"/>\n",
       "       <use x=\"55.615234375\" xlink:href=\"#LiberationSans-2e\"/>\n",
       "       <use x=\"83.3984375\" xlink:href=\"#LiberationSans-30\"/>\n",
       "       <use x=\"139.013671875\" xlink:href=\"#LiberationSans-37\"/>\n",
       "       <use x=\"194.62890625\" xlink:href=\"#LiberationSans-30\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"ytick_5\">\n",
       "     <g id=\"line2d_43\">\n",
       "      <path clip-path=\"url(#pcb8ad95ba4)\" d=\"M 54.475938 114.160938 \n",
       "L 500.875937 114.160938 \n",
       "\" style=\"fill:none;stroke:#ffffff;stroke-linecap:round;\"/>\n",
       "     </g>\n",
       "     <g id=\"line2d_44\">\n",
       "      <g>\n",
       "       <use style=\"fill:#262626;stroke:#262626;\" x=\"54.4759375\" xlink:href=\"#m8fdf5948b1\" y=\"114.1609375\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"line2d_45\">\n",
       "      <g>\n",
       "       <use style=\"fill:#262626;stroke:#262626;\" x=\"500.8759375\" xlink:href=\"#m8fdf5948b1\" y=\"114.1609375\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_16\">\n",
       "      <!-- 0.075 -->\n",
       "      <g style=\"fill:#262626;\" transform=\"translate(22.4540625 116.746875)scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#LiberationSans-30\"/>\n",
       "       <use x=\"55.615234375\" xlink:href=\"#LiberationSans-2e\"/>\n",
       "       <use x=\"83.3984375\" xlink:href=\"#LiberationSans-30\"/>\n",
       "       <use x=\"139.013671875\" xlink:href=\"#LiberationSans-37\"/>\n",
       "       <use x=\"194.62890625\" xlink:href=\"#LiberationSans-35\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"ytick_6\">\n",
       "     <g id=\"line2d_46\">\n",
       "      <path clip-path=\"url(#pcb8ad95ba4)\" d=\"M 54.475938 63.010938 \n",
       "L 500.875937 63.010938 \n",
       "\" style=\"fill:none;stroke:#ffffff;stroke-linecap:round;\"/>\n",
       "     </g>\n",
       "     <g id=\"line2d_47\">\n",
       "      <g>\n",
       "       <use style=\"fill:#262626;stroke:#262626;\" x=\"54.4759375\" xlink:href=\"#m8fdf5948b1\" y=\"63.0109375\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"line2d_48\">\n",
       "      <g>\n",
       "       <use style=\"fill:#262626;stroke:#262626;\" x=\"500.8759375\" xlink:href=\"#m8fdf5948b1\" y=\"63.0109375\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_17\">\n",
       "      <!-- 0.080 -->\n",
       "      <g style=\"fill:#262626;\" transform=\"translate(22.4540625 65.596875)scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#LiberationSans-30\"/>\n",
       "       <use x=\"55.615234375\" xlink:href=\"#LiberationSans-2e\"/>\n",
       "       <use x=\"83.3984375\" xlink:href=\"#LiberationSans-30\"/>\n",
       "       <use x=\"139.013671875\" xlink:href=\"#LiberationSans-38\"/>\n",
       "       <use x=\"194.62890625\" xlink:href=\"#LiberationSans-30\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"ytick_7\">\n",
       "     <g id=\"text_18\">\n",
       "      <!-- 0.085 -->\n",
       "      <g style=\"fill:#262626;\" transform=\"translate(22.4540625 14.446875)scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#LiberationSans-30\"/>\n",
       "       <use x=\"55.615234375\" xlink:href=\"#LiberationSans-2e\"/>\n",
       "       <use x=\"83.3984375\" xlink:href=\"#LiberationSans-30\"/>\n",
       "       <use x=\"139.013671875\" xlink:href=\"#LiberationSans-38\"/>\n",
       "       <use x=\"194.62890625\" xlink:href=\"#LiberationSans-35\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"text_19\">\n",
       "     <!-- Loss -->\n",
       "     <defs>\n",
       "      <path d=\"M 46.390625 14.59375 \n",
       "Q 46.390625 10.890625 44.9375 7.984375 \n",
       "Q 43.5 5.078125 40.765625 3.09375 \n",
       "Q 38.03125 1.125 34.046875 0.0625 \n",
       "Q 30.078125 -0.984375 24.953125 -0.984375 \n",
       "Q 20.359375 -0.984375 16.671875 -0.265625 \n",
       "Q 12.984375 0.4375 10.203125 2 \n",
       "Q 7.421875 3.5625 5.53125 6.125 \n",
       "Q 3.65625 8.6875 2.78125 12.40625 \n",
       "L 10.546875 13.921875 \n",
       "Q 11.671875 9.671875 15.1875 7.6875 \n",
       "Q 18.703125 5.71875 24.953125 5.71875 \n",
       "Q 27.78125 5.71875 30.140625 6.109375 \n",
       "Q 32.515625 6.5 34.21875 7.453125 \n",
       "Q 35.9375 8.40625 36.890625 9.984375 \n",
       "Q 37.84375 11.578125 37.84375 13.921875 \n",
       "Q 37.84375 16.3125 36.71875 17.84375 \n",
       "Q 35.59375 19.390625 33.59375 20.40625 \n",
       "Q 31.59375 21.4375 28.734375 22.1875 \n",
       "Q 25.875 22.953125 22.46875 23.875 \n",
       "Q 19.28125 24.703125 16.15625 25.734375 \n",
       "Q 13.03125 26.765625 10.515625 28.4375 \n",
       "Q 8.015625 30.125 6.453125 32.609375 \n",
       "Q 4.890625 35.109375 4.890625 38.875 \n",
       "Q 4.890625 46.09375 10.03125 49.875 \n",
       "Q 15.1875 53.65625 25.046875 53.65625 \n",
       "Q 33.796875 53.65625 38.9375 50.578125 \n",
       "Q 44.09375 47.515625 45.453125 40.71875 \n",
       "L 37.546875 39.75 \n",
       "Q 37.109375 41.796875 35.9375 43.1875 \n",
       "Q 34.765625 44.578125 33.109375 45.4375 \n",
       "Q 31.453125 46.296875 29.375 46.65625 \n",
       "Q 27.296875 47.015625 25.046875 47.015625 \n",
       "Q 19.09375 47.015625 16.25 45.203125 \n",
       "Q 13.421875 43.40625 13.421875 39.75 \n",
       "Q 13.421875 37.59375 14.46875 36.203125 \n",
       "Q 15.53125 34.8125 17.40625 33.859375 \n",
       "Q 19.28125 32.90625 21.921875 32.203125 \n",
       "Q 24.5625 31.5 27.734375 30.71875 \n",
       "Q 29.828125 30.171875 32.03125 29.5625 \n",
       "Q 34.234375 28.953125 36.296875 28.09375 \n",
       "Q 38.375 27.25 40.203125 26.09375 \n",
       "Q 42.046875 24.953125 43.40625 23.34375 \n",
       "Q 44.78125 21.734375 45.578125 19.578125 \n",
       "Q 46.390625 17.4375 46.390625 14.59375 \n",
       "\" id=\"LiberationSans-73\"/>\n",
       "      <path d=\"M 8.203125 0 \n",
       "L 8.203125 68.796875 \n",
       "L 17.53125 68.796875 \n",
       "L 17.53125 7.625 \n",
       "L 52.296875 7.625 \n",
       "L 52.296875 0 \n",
       "z\n",
       "\" id=\"LiberationSans-4c\"/>\n",
       "     </defs>\n",
       "     <g style=\"fill:#262626;\" transform=\"translate(15.1715625 176.92796875)rotate(-90.0)scale(0.11 -0.11)\">\n",
       "      <use xlink:href=\"#LiberationSans-4c\"/>\n",
       "      <use x=\"55.615234375\" xlink:href=\"#LiberationSans-6f\"/>\n",
       "      <use x=\"111.23046875\" xlink:href=\"#LiberationSans-73\"/>\n",
       "      <use x=\"161.23046875\" xlink:href=\"#LiberationSans-73\"/>\n",
       "     </g>\n",
       "    </g>\n",
       "   </g>\n",
       "   <g id=\"line2d_49\">\n",
       "    <path clip-path=\"url(#pcb8ad95ba4)\" d=\"M 54.475938 60.821888 \n",
       "L 104.075937 132.083373 \n",
       "L 153.675937 165.36811 \n",
       "L 203.275937 190.584805 \n",
       "L 252.875937 213.207812 \n",
       "L 302.475937 230.154834 \n",
       "L 352.075937 246.220525 \n",
       "L 401.675937 259.35669 \n",
       "L 451.275937 270.686787 \n",
       "L 500.875937 279.570434 \n",
       "\" style=\"fill:none;stroke:#4c72b0;stroke-linecap:round;stroke-width:1.75;\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_3\">\n",
       "    <path d=\"M 54.475938 318.760938 \n",
       "L 500.875937 318.760938 \n",
       "\" style=\"fill:none;\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_4\">\n",
       "    <path d=\"M 500.875937 318.760938 \n",
       "L 500.875937 11.860938 \n",
       "\" style=\"fill:none;\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_5\">\n",
       "    <path d=\"M 54.475938 318.760938 \n",
       "L 54.475938 11.860938 \n",
       "\" style=\"fill:none;\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_6\">\n",
       "    <path d=\"M 54.475938 11.860938 \n",
       "L 500.875937 11.860938 \n",
       "\" style=\"fill:none;\"/>\n",
       "   </g>\n",
       "  </g>\n",
       " </g>\n",
       " <defs>\n",
       "  <clipPath id=\"pcb8ad95ba4\">\n",
       "   <rect height=\"306.9\" width=\"446.4\" x=\"54.4759375\" y=\"11.8609375\"/>\n",
       "  </clipPath>\n",
       " </defs>\n",
       "</svg>\n"
      ],
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fd799196f98>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import seaborn as sns\n",
    "from matplotlib import pyplot as plt\n",
    "\n",
    "plt.plot(history.epoch, history.history['loss'])\n",
    "plt.xlabel(\"Epoch\")\n",
    "plt.ylabel(\"Loss\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "#from keras.datasets import cifar10\n",
    "#(X_train, y_train), (X_test, y_test) = cifar10.load_data()\n",
    "#y_train = np_utils.to_categorical(y_train, nb_classes)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "y_pred = model.predict(X_test)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "             precision    recall  f1-score   support\n",
      "\n",
      "          0       0.69      0.59      0.64      1024\n",
      "          1       0.72      0.81      0.76      1065\n",
      "          2       0.69      0.29      0.41       993\n",
      "          3       0.44      0.49      0.46       961\n",
      "          4       0.54      0.60      0.57      1007\n",
      "          5       0.64      0.43      0.52       972\n",
      "          6       0.60      0.73      0.66       959\n",
      "          7       0.60      0.76      0.67       974\n",
      "          8       0.59      0.83      0.69      1028\n",
      "          9       0.77      0.62      0.68      1017\n",
      "\n",
      "avg / total       0.63      0.62      0.61     10000\n",
      "\n"
     ]
    }
   ],
   "source": [
    "from sklearn.metrics import classification_report\n",
    "print(classification_report(y_pred=y_pred.argmax(axis=1),\n",
    "                            y_true=y_test.argmax(axis=1)))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'1.2.1'"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import keras\n",
    "\n",
    "keras.__version__"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.5.2"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}
